home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-1 / Inter.Net 55-1.iso / CBuilder / Setup / BCB / data.z / monform.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-09  |  4.0 KB  |  137 lines

  1. //----------------------------------------------------------------------------
  2. //Borland C++Builder
  3. //Copyright (c) 1987, 1998 Borland International Inc. All Rights Reserved.
  4. //----------------------------------------------------------------------------
  5. #ifndef MonFormHPP
  6. #define MonFormHPP
  7. //----------------------------------------------------------------------------
  8. #include <Menus.hpp>
  9. #include <ExtCtrls.hpp>
  10. #include <ComCtrls.hpp>
  11. #include <Buttons.hpp>
  12. #include <TypInfo.hpp>
  13. #include <StdCtrls.hpp>
  14. #include <Dialogs.hpp>
  15. #include <Forms.hpp>
  16. #include <Controls.hpp>
  17. #include <Graphics.hpp>
  18. #include <Classes.hpp>
  19. #include <Messages.hpp>
  20. #include <Windows.hpp>
  21. #include <SysUtils.hpp>
  22. #include <System.hpp>
  23. #include "IPCThrd.h"
  24.  
  25. //-- message defines ---------------------------------------------------------
  26. #define WM_SETTRACEDATA WM_USER + 1
  27. #define WM_UPDATESTATUS WM_USER + 2
  28. #define WM_UPDATEMENU   WM_USER + 3
  29. //-- type declarations -------------------------------------------------------
  30. struct TWMTraceData
  31. {
  32.     Cardinal Msg;
  33.     Longint X;
  34.     Longint Y;
  35.     TClientFlag Flag;
  36.     Longint Result;
  37. } ;
  38.  
  39. struct TLabelRec
  40. {
  41.     TLabel *XLabel;
  42.     TLabel *YLabel;
  43. } ;
  44.  
  45. class TMonitorForm : public TForm
  46. {
  47.  
  48. __published:
  49.     TLabel *DownX;
  50.     TLabel *DownY;
  51.     TLabel *SizeX;
  52.     TLabel *SizeY;
  53.     TLabel *MoveX;
  54.     TLabel *MoveY;
  55.     TBevel *Bevel1;
  56.     TPanel *Panel1;
  57.     TSpeedButton *PauseButton;
  58.     TStatusBar *StatusBar;
  59.     TCheckBox *MouseMove;
  60.     TCheckBox *MouseDown;
  61.     TCheckBox *WindowSize;
  62.     TMainMenu *MainMenu;
  63.     TMenuItem *Options1;
  64.     TMenuItem *AutoClientSwitch1;
  65.     TMenuItem *PlaceHolder21;
  66.     TMenuItem *File1;
  67.     TMenuItem *miFileExit;
  68.     TMenuItem *miClients;
  69.     TMenuItem *PlaceHolder1;
  70.     TMenuItem *Help1;
  71.     TMenuItem *About1;
  72.     TSpeedButton *ShowTraceButton;
  73.     TSpeedButton *ClearButton;
  74.     TSpeedButton *ExitButton;
  75.     void __fastcall FormCreate(TObject *Sender);
  76.     void __fastcall FormDestroy(TObject *Sender);
  77.     void __fastcall ClientMenuClick(TObject *Sender);
  78.     void __fastcall miClientsClick(TObject *Sender);
  79.     void __fastcall SetTraceFlags(TObject *Sender);
  80.     void __fastcall AutoClientSwitch1Click(TObject *Sender);
  81.     void __fastcall miFileExitClick(TObject *Sender);
  82.     void __fastcall ShowTraceButtonClick(TObject *Sender);
  83.     void __fastcall PauseButtonClick(TObject *Sender);
  84.     void __fastcall ClearButtonClick(TObject *Sender);
  85.     void __fastcall ExitButtonClick(TObject *Sender);
  86.     void __fastcall About1Click(TObject *Sender);
  87.  
  88.  
  89.  
  90.  
  91. private:
  92.     TWMTraceData FTraceMsg;
  93.     TIPCMonitor *IPCMonitor;
  94.     TLabelRec TraceLabels[5];
  95.     TEventData FClientData;
  96.     AnsiString FStatusText;
  97.     void __fastcall ClearLabels(void);
  98.     void __fastcall OnConnect(TIPCThread *Sender, Boolean Connecting);
  99.     void __fastcall OnDirectoryUpdate(TIPCThread *Sender);
  100.     void __fastcall OnSignal(TIPCThread *Sender, const TEventData &Data);
  101.     void __fastcall SignalClientStatus();
  102.         void __fastcall TMonitorForm::SetupLabelArray();
  103.         void __fastcall UpdateTraceData(TWMTraceData* Msg);
  104.         void __fastcall UpdateStatusBar(TMessage* Msg);
  105.         void __fastcall UpdateClientMenu(TMessage* Msg);
  106.  
  107.  
  108. public:
  109.     virtual __fastcall  TMonitorForm::TMonitorForm(TComponent *Owner);
  110.  
  111.         virtual void __fastcall Dispatch(void *Message)
  112.         {
  113.           switch(((PMessage)Message)->Msg)
  114.             {
  115.  
  116.               case    WM_SETTRACEDATA:
  117.                  UpdateTraceData((TWMTraceData*)Message);
  118.               break;
  119.               case    WM_UPDATESTATUS:
  120.                  UpdateStatusBar((TMessage*)Message);
  121.               break;
  122.               case    WM_UPDATEMENU:
  123.                  UpdateClientMenu((TMessage*)Message);
  124.               break;
  125.               default:
  126.                  TForm::Dispatch(Message);
  127.               break;
  128.             }
  129.         }
  130. };
  131.  
  132. //-- var, const, procedure ---------------------------------------------------
  133. extern TMonitorForm *MonitorForm;
  134. //-- end unit ----------------------------------------------------------------
  135. #endif    // MonForm
  136.  
  137.